// 可选成员、只读成员、动态成员

export {} // 确保跟其他示例没有成员冲突

// ------------------------------------
interface Post {
    title: string
    content: string
    // 表示该变量可有可无  string | undefined
    subtitle?: string
    // 只读成员 不允许再次修改
    readonly summary: string
}

const hello: Post = {
    title: 'hello typescript',
    content: 'a javascript superset',
    summary: 'a javascript'
}

// 报错
// hello.summary = 'other'

// -------------------------------------

interface Cache {
    // 前面是任意字符 代表一个格式  动态成员 
    [prop: string]: string
}

const cache: Cache = { }

cache.fo0 = 'value1'
cache.bar = 'value2'